Cloud computing is the use of computing resources (hardware and software) which are available in a remote location and accessible over a network, such as the Internet. Users are able to buy these computing resources (including storage and computing power) as a utility on demand. Cloud computing entrusts remote services with a user's data, software and computation. Use of virtual computing resources can provide a number of advantages including cost advantages and/or ability to adapt rapidly to changing computing resource needs.
Cloud computing frequently offers block-based storage. Such block-based storage provides a storage system that is able to interact with various computing virtualizations through a series of standardized storage calls that render the block-based storage functionally agnostic to the structural and functional details of the volumes that it supports and the operating systems executing on the virtualizations to which it provides storage availability.
The block-based storage also can incorporate failover protection for backup purposes. Failover is switching to a redundant or standby computer server, system, hardware component or network upon the failure or abnormal termination of the previously active application, server, system, hardware component, or network. Once a failover situation occurs, the failing component is logically replaced with a new component.
Excess resource capacity should be maintained for failover situations and recovery therefrom. The sizing of the excess capacity has been problematic. Too much extra capacity is wasteful as resources are underused, while too little can compromise servicing customer requests.